package practice;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Objects;

import static jdk.nashorn.internal.objects.NativeBoolean.valueOf;

public class CollectionHomework {
    public static void main(String[] args) {
        //第一遍
        //六种方法
        Collection<Integer> co1 = new ArrayList();
        co1.add(10);
        co1.add(11);
        co1.add(12);
        co1.add(13);
        co1.add(14);
        co1.add(15);

        int size = co1.size();
        System.out.println(size);

        System.out.println(co1.contains("str"));

        co1.remove(15);
        System.out.println(co1);

        co1.clear();
        System.out.println(co1);

        System.out.println(co1.isEmpty());

        //四种加集合的方法
        Collection<Integer> co2 = new ArrayList();
        co2.add(10);
        co2.add(11);
        co2.add(12);
        co2.add(13);
        co2.add(14);
        co2.add(15);

        Collection<Integer> co3 = new ArrayList();
        co3.add(20);
        co3.add(21);
        co3.add(22);

        co2.addAll(co3);
        System.out.println(co2);

        System.out.println(co2.containsAll(co3));

        //co2.retainAll(co3);
        //System.out.println(co2);

        co2.removeAll(co3);
        System.out.println(co2);

        //迭代器遍历
        Iterator<Integer> it = co2.iterator();
        while(it.hasNext()) {
            Integer i1 = it.next();
            System.out.println(i1);

            Integer i2 = Integer.valueOf(12);

            if(i2.equals(i1)) {
                it.remove();
            }
        }
        System.out.println(co2);

        //new for遍历
        for(Integer i : co2) {
            System.out.println(i);
        }


        //第二遍
        //六种方法
//        Collection<Point> c1 = new ArrayList();
//        c1.add(new Point(4,4));
//        c1.add(new Point(4,5));
//        c1.add(new Point(4,6));
//        c1.add(new Point(4,7));
//        c1.add(new Point(4,8));
//
//        System.out.println(c1.size());
//
//        Point p = new Point(4,8);
//        System.out.println(c1.contains(p));
//
//        c1.remove(p);
//        System.out.println(c1);
//
//        c1.clear();
//        System.out.println(c1.isEmpty());
//
//        //四种加集合的方法
//        Collection<Point> c2 = new ArrayList();
//        c2.add(new Point(4,4));
//        c2.add(new Point(4,5));
//        c2.add(new Point(4,6));
//        c2.add(new Point(4,7));
//        c2.add(new Point(4,8));
//
//        Collection<Point> c3 = new ArrayList();
//        c3.add(new Point(40,40));
//        c3.add(new Point(40,44));
//        c3.add(new Point(40,48));
//
//        c2.addAll(c3);
//        System.out.println(c2);
//
//        System.out.println(c2.containsAll(c3));
//
//        //c2.retainAll(c3);
//        //System.out.println(c2);
//
//        c2.removeAll(c3);
//        System.out.println(c2);
//
//        //迭代器遍历
//        Iterator<Point> it = c2.iterator();
//        while(it.hasNext()) {
//            Point m = it.next();
//            System.out.println(m);
//            Point n = new Point(4,6);
//            if(n.equals(m)) {
//                it.remove();
//            }
//        }
//        System.out.println(c2);
//
//        //new for 遍历
//        for(Point p1 : c2) {
//            System.out.println(p1);
//        }
    }
}


